package com.lingxu.base.system.manage.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lingxu.base.common.api.vo.Result;
import com.lingxu.base.system.manage.entity.SysMenu;
import com.lingxu.base.system.manage.entity.SysRoleMenuUserVo;
import com.lingxu.base.system.manage.model.SysMenuTree;
import com.lingxu.base.system.manage.vo.SysOrgMenuOption;

import java.util.List;
import java.util.Map;
import java.util.Set;


public interface ISysMenuService extends IService<SysMenu> {


    IPage<SysMenu> queryPageList(Page<SysMenu> page, SysMenu sysMenu);


    List<SysMenu> queryList(SysMenu sysMenu);



    Set<String> getCodeSetByUserName(String userName);


    List<SysMenuTree> getTreeListByUserId(String id);



    List<SysMenuTree> getTreeListInManage(SysOrgMenuOption sysOrgMenuOption);

    Map<String, List<SysMenu>> getName_NewMenuMap();

    /*======================================================sys_menu新================================================================*/

    Result findSysMenuList();


    Integer findChild(String id);


    void deleteSysMenu(List<String> list);


    Result addMenuButton(SysMenu menuButton);


    Result updateMenuButton(SysMenu menuButton);


    Result deleteMenuButton(String id);

    Result findMenuButtonList(String menuId);

    Result updateSysMenu(SysMenu sysMenu);

    Result findMenuListBycategoryAndId(String category, String id);

    Result findMenuList(SysMenu sysMenu);

    Result findMenuListByUseridAmdMenupid(SysRoleMenuUserVo sysRoleMenuUserVo);

    Result findRoleNotExistMenu(String roleId);

    Result findRoleExistMenu(String roleId);
    /*======================================================sys_menu新================================================================*/

}
